//remove recipes

ServerEvents.recipes(event => {

    event.remove({ output: 'refinedstorage:processor_binding' })

    event.remove({ output: 'refinedstorage:1k_storage_part' })

    event.remove({ output: 'refinedstorage:4k_storage_part' })

    event.remove({ output: 'refinedstorage:16k_storage_part' })

    event.remove({ output: 'refinedstorage:64k_storage_part' })

    event.remove({ output: 'refinedstorage:64b_fluid_storage_part' })

    event.remove({ output: 'refinedstorage:256b_fluid_storage_part' })

    event.remove({ output: 'refinedstorage:1024b_fluid_storage_part' })

    event.remove({ output: 'refinedstorage:4096b_fluid_storage_part' })

    event.remove({ output: 'refinedstorage:quartz_enriched_iron' })

    event.remove({ output: 'refinedstorage:64k_storage_block' })

    event.remove({ output: 'refinedstorage:64b_fluid_storage_block' })

    event.remove({ output: 'refinedstorage:16k_storage_block' })

    event.remove({ output: 'refinedstorage:4k_storage_block' })

    event.remove({ output: 'refinedstorage:256b_fluid_storage_block' })

    event.remove({ output: 'refinedstorage:4096b_fluid_storage_block' })

    event.remove({ output: 'refinedstorage:1024b_fluid_storage_block' })

    event.remove({ output: 'refinedstorage:1k_storage_block' })

    event.remove({ output: 'refinedstorage:storage_monitor' })

    event.remove({ output: 'refinedstorage:controller' })

    event.remove({ output: 'refinedstorage:improved_processor' })

    event.remove({ output: 'refinedstorage:advanced_processor' })

    event.remove({ output: 'refinedstorage:raw_advanced_processor' })

    event.remove({ output: 'refinedstorage:raw_improved_processor' })

    event.remove({ output: 'refinedstorage:raw_basic_processor' })

    event.remove({ output: 'refinedstorage:basic_processor' })

    event.remove({ output: 'refinedstorage:improved_processor' })

    event.remove({ output: 'refinedstorage:advanced_processor' })

    event.remove({ output: 'refinedstorage:construction_core' })

    event.remove({ output: 'refinedstorage:destruction_core' })
})

//add recipes

ServerEvents.recipes(event => {

    event.recipes.create.mixing(Item.of('refinedstorage:processor_binding', 8), [
        'minecraft:slime_ball',
        Item.of('minecraft:string', 2)
    ])

    event.recipes.create.mechanical_crafting('refinedstorage:1k_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:basic_processor',
        A: 'minecraft:redstone',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'minecraft:glass'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:4k_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:basic_processor',
        A: 'minecraft:redstone',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:1k_storage_part'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:16k_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:improved_processor',
        A: 'minecraft:redstone',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:4k_storage_part'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:64k_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:advanced_processor',
        A: 'minecraft:redstone',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:16k_storage_part'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:64b_fluid_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:basic_processor',
        A: 'minecraft:bucket',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'minecraft:glass'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:storage_monitor', [
        'PZC',
        'VAC',
        'PXC'
    ], {
        P: 'refinedstorage:basic_processor',
        A: 'refinedstorage:machine_casing',
        Z: 'refinedstorage:construction_core',
        C: 'minecraft:glass',
        X: 'refinedstorage:destruction_core',
        V: 'refinedstorage:quartz_enriched_iron',

    })

    event.recipes.create.mechanical_crafting('refinedstorage:controller', [
        'VPV',
        'ZAZ',
        'VZV'
    ], {
        P: 'refinedstorage:advanced_processor',
        A: 'refinedstorage:machine_casing',
        Z: 'refinedstorage:silicon',
        V: 'refinedstorage:quartz_enriched_iron',
    })

})

ServerEvents.recipes(event => {

    event.recipes.create.mechanical_crafting('refinedstorage:256b_fluid_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:basic_processor',
        A: 'minecraft:bucket',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:64b_fluid_storage_part'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:1024b_fluid_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:improved_processor',
        A: 'minecraft:bucket',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:256b_fluid_storage_part'
    })

    event.recipes.create.mechanical_crafting('refinedstorage:4096b_fluid_storage_part', [
        'PZP',
        'CAC',
        'PCP'
    ], {
        P: 'refinedstorage:advanced_processor',
        A: 'minecraft:bucket',
        Z: 'refinedstorage:quartz_enriched_iron',
        C: 'refinedstorage:1024b_fluid_storage_part'
    })
    event.custom({
        type: "create:deploying",
        ingredients: [{ item: "refinedstorage:raw_basic_processor" }, { item: "minecraft:magma_cream" }],
        keep_held_item: false,
        results: [{ id: "refinedstorage:basic_processor" }],
    });

    const inter = 'kubejs:incomplete_destruction_core'
    event.recipes.create.sequenced_assembly(
            [
                CreateItem.of('refinedstorage:destruction_core', 1.0),
            ],
            'refinedstorage:basic_processor', [
                event.recipes.create.deploying(inter, [inter, 'minecraft:redstone']),
                event.recipes.create.deploying(inter, [inter, 'minecraft:quartz']),
                event.recipes.create.pressing(inter, inter),
            ]
        )
        .transitionalItem(inter)
        .loops(1)

    const inte = 'kubejs:incomplete_construction_core'
    event.recipes.create.sequenced_assembly(
            [
                CreateItem.of('refinedstorage:construction_core', 1.0),
            ],
            'refinedstorage:basic_processor', [
                event.recipes.create.deploying(inte, [inte, 'minecraft:diamond']),
                event.recipes.create.deploying(inte, [inte, 'minecraft:glowstone_dust']),
                event.recipes.create.pressing(inte, inte),
            ]
        )
        .transitionalItem(inte)
        .loops(1)
})

ServerEvents.recipes(event => {

    event.recipes.create.mixing(Item.of('refinedstorage:quartz_enriched_iron', 4), [
        Item.of('minecraft:iron_ingot', 4),
        'minecraft:quartz',
        Fluid.of('minecraft:water', 1000)
    ]).heated()

    event.recipes.create.mixing(Item.of('refinedstorage:advanced_processor', 4), [
        Item.of('refinedstorage:processor_binding', 4),
        Item.of('minecraft:diamond', 4),
        Item.of('refinedstorage:silicon', 4),
        Item.of('minecraft:redstone', 4),
    ]).heated()

    event.recipes.create.mixing(Item.of('refinedstorage:improved_processor', 4), [
        Item.of('refinedstorage:processor_binding', 4),
        Item.of('minecraft:gold_ingot', 4),
        Item.of('refinedstorage:silicon', 4),
        Item.of('minecraft:redstone', 4),
    ]).heated()

    event.recipes.create.mixing(Item.of('refinedstorage:basic_processor', 4), [
        Item.of('refinedstorage:processor_binding', 4),
        Item.of('minecraft:iron_ingot', 4),
        Item.of('refinedstorage:silicon', 4),
        Item.of('minecraft:redstone', 4),
    ]).heated()

    event.recipes.create.mixing(Item.of('refinedstorage:raw_improved_processor', 1), [
        Item.of('refinedstorage:processor_binding', 1),
        Item.of('minecraft:gold_ingot', 1),
        Item.of('refinedstorage:silicon', 1),
        Item.of('minecraft:redstone', 1),
    ])

    event.recipes.create.mixing(Item.of('refinedstorage:raw_advanced_processor', 1), [
        Item.of('refinedstorage:processor_binding', 1),
        Item.of('minecraft:diamond', 1),
        Item.of('refinedstorage:silicon', 1),
        Item.of('minecraft:redstone', 1),
    ])

    event.recipes.create.mixing(Item.of('refinedstorage:raw_basic_processor', 1), [
        Item.of('refinedstorage:processor_binding', 1),
        Item.of('minecraft:iron_ingot', 1),
        Item.of('refinedstorage:silicon', 1),
        Item.of('minecraft:redstone', 1),
    ])

    event.recipes.create.mixing(Item.of('minecraft:slime_ball', 1), [
        Item.of('minecraft:clay_ball', 1),
        Item.of('minecraft:green_dye', 1),
    ]).heated()

})